home *** CD-ROM | disk | FTP | other *** search
/ Sun Solutions 2000 #2 / Sun Solutions CD (Volume 2 2000)(Special Focus - Java Technologies)(Disc 1).ISO / products / Software / BostonBusinessComputing / bbc / bbcfe < prev    next >
Text File  |  2000-02-11  |  4KB  |  161 lines

  1. #!/bin/sh
  2.  
  3. (a=1; unset a) 2>/dev/null || {
  4.         [ "`uname 2>/dev/null`" = "ULTRIX" ] && exec /bin/sh5 $0 ${@+"$@"}
  5. }
  6.  
  7. pgm=`basename "$0"`
  8.  
  9. set -a; . ${BBCLICDIR-'/etc/bbc'}/config; set +a
  10.  
  11. case $pgm in
  12.     bbc)
  13.     dsppgm="BBC control"
  14.     BBCNOX=1
  15.     ;;
  16.     bbcxterm)
  17.     dsppgm="XTERM"
  18.     BBCNOX=
  19.     ;;
  20.     edt-debug)
  21.     dsppgm="EDT+"
  22.     ;;
  23.     edtcode)
  24.     dsppgm="EDTcode"
  25.     ;;
  26.     [eE][dD]*)
  27.     case $pgm in *rel) pgm=edtrel;; *) pgm=edt;; esac
  28.     dsppgm="EDT+"
  29.     ;;
  30.     [vV][bB]*)
  31.     case $pgm in *rel) pgm=vbackuprel;; *) pgm=vbackup;; esac
  32.     dsppgm="Vbackup"
  33.     BBCNOX=1
  34.     ;;
  35.     [vV][cC][lL]*)
  36.     case $pgm in *rel) pgm=vclrel;; *) pgm=vcl;; esac
  37.     dsppgm="VCL"
  38.     BBCNOX=1
  39.     ;;
  40.     [vV][cC][oO]*)
  41.     case $pgm in *rel) pgm=vconvertrel;; *) pgm=vconvert;; esac
  42.     dsppgm="Vconvert"
  43.     BBCNOX=1
  44.     ;;
  45.     [vV][mM]*)
  46.     case $pgm in *rel) pgm=vmailrel;; *) pgm=vmail;; esac
  47.     dsppgm="Vmail"
  48.     BBCNOX=1
  49.     ;;
  50.     *)
  51.     dsppgm=$pgm
  52.     ;;
  53. esac
  54.  
  55. pgm=$pgm.x
  56.  
  57. : ${BBC=/usr/lib/bbc}
  58.  
  59. if [ ! -r $BBC/$pgm ]; then
  60.     echo "An error has been detected." 1>&2
  61.     if [ $BBC = "/usr/lib/bbc" ]; then
  62.     echo "The '/usr/lib/bbc' directory has been improperly installed." 1>&2
  63.     if [ -d $BBC ]; then
  64.         echo "The '$pgm' file is missing from the directory." 1>&2
  65.     else
  66.         echo "The directory does not exist." 1>&2
  67.     fi
  68.     else
  69.     echo "You have set a BBC environment variable to '$BBC'." 1>&2
  70.     if [ ! -d $BBC ]; then
  71.         echo "The directory does not exist." 1>&2
  72.     else
  73.         case $BBC in
  74.         */term)
  75.             bbc=`expr $BBC : '\(.*\)/term'`
  76.             echo "It should probably be set to $bbc." 1>&2
  77.             ;;
  78.         *)
  79.             echo "The '$pgm' file is missing from the directory." 1>&2
  80.             ;;
  81.         esac
  82.     fi
  83.     fi
  84.     echo "Did you run the install program that came with $dsppgm?" 1>&2
  85.     exit 1
  86. fi
  87.  
  88. case "$PATH" in
  89.     *$BBC/bin*)    ;;
  90.     *) PATH="$PATH:$BBC/bin:$BBC"; export PATH ;;
  91. esac
  92.  
  93. xtargs=""
  94. iconic=""
  95. first=true
  96. display=false
  97. geometry=false
  98. for f do
  99.     if $first; then
  100.     set -$- "SHIFT-ME"
  101.     first=false
  102.     fi
  103.  
  104.     if $display; then
  105.     DISPLAY="$f"; export DISPLAY
  106.     display=false
  107.     continue
  108.     fi
  109.  
  110.     case "$xtargs" in
  111.     *-geometry|*-fn|*-fb|*-bg|*-bd|*-bw|*-fg|*-cr|*-ms)
  112.         xtargs="$xtargs $f"
  113.         continue
  114.         ;;
  115.     esac
  116.                     
  117.  
  118.     case "$f" in
  119.     -display)
  120.         display=true
  121.         ;;
  122.     -iconic|-geometry|-fn|-fb|-bg|-bd|-bw|-fg|-cr|-ms|-rv)
  123.         xtargs="$xtargs $f"
  124.         ;;
  125.     -nodisplay)
  126.         BBCNOX=1
  127.         ;;
  128.     *)
  129.         set -$- ${@+"$@"} "$f"
  130.         ;;
  131.     esac
  132. done
  133.  
  134. [ "$1" = "SHIFT-ME" ] && shift
  135.  
  136. if [ -n "$DISPLAY" -a -z "$BBCNOX" ]; then
  137.     xterm=`ls /usr/openwin/bin/xterm /usr/bin/X11/xterm 2>/dev/null|sed -n 1p`
  138.     resize=`ls /usr/openwin/bin/resize /usr/bin/X11/resize 2>/dev/null|sed -n 1p`
  139.  
  140.     if [ -r $HOME/.bbcxdefaults ]; then
  141.     xdefs=$HOME/.bbcxdefaults
  142.     else
  143.     [ -r $BBC/xdefaults ] && xdefs=$BBC/xdefaults
  144.     fi
  145.     [ -z "$xterm" -o -z "$xdefs" ] && BBCNOX=1
  146. fi
  147.  
  148. [ -z "$DISPLAY" -o -n "$BBCNOX" ] && exec $pgm ${@+"$@"}
  149.  
  150. unset=:
  151. (TEST=test unset TEST) 2>/dev/null && {
  152.     unset LINES COLUMNS COLS
  153.     unset="unset LINES COLUMNS COLS XENVIRONMENT"
  154. }
  155.  
  156. [ -n "$XENVIRONMENT" ] && \
  157.     unset="$unset ; XENVIRONMENT=$XENVIRONMENT; export XENVIRONMENT"
  158. XENVIRONMENT=$xdefs; export XENVIRONMENT
  159. [ -n "$resize" ] && resize='`'$resize' -u`'
  160. exec $xterm +t -132 +sf +ls -name bbc -title "$dsppgm from Boston Business Computing" -xrm "bbc*IconName: $dsppgm" $xtargs -e /bin/sh -c "$unset; trap '' 1; eval $unset; eval $resize; eval $resize; (stty susp '^@' dsusp '^@'; stty intr '^C' quit '^Y'; stty min 1 time 1 ; exec stty -parenb cs8 -istrip) 2>/dev/null ; $unset XENVIRONMENT; BBCERRWAIT=1; export BBCERRWAIT; exec $pgm "'${@+"$@"}' $pgm ${@+"$@"}
  161.